#!/bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test of Python f-string support.

cat <<\EOF > xg-py-8.py
s0 = _(fr'An f-string without substitutions');
s1 = _(fr'''An f-string with
embedded
newlines''');
s2 = _(fr'An f-string with {n} substitutions');
s3 = _(fr'An f-string with several substitutions: {a} and {b} and {c} and so on');
s4 = fr"that's a valid string. " + _('This too');
s5 = fr'''a{fr'b{fr"c"+d}'}e''';
s6 = _("a normal string");
s7 = fr'abc{foo({},_('should be extracted'))}xyz';
return _("first normal string") + fr'{foo}' + _("second normal string");
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} --add-comments --no-location -o xg-py-8.tmp xg-py-8.py 2>xg-py-8.err
test $? = 0 || { cat xg-py-8.err; Exit 1; }
func_filter_POT_Creation_Date xg-py-8.tmp xg-py-8.pot

cat <<\EOF > xg-py-8.ok
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "An f-string without substitutions"
msgstr ""

msgid ""
"An f-string with\n"
"embedded\n"
"newlines"
msgstr ""

msgid "This too"
msgstr ""

msgid "a normal string"
msgstr ""

msgid "should be extracted"
msgstr ""

msgid "first normal string"
msgstr ""

msgid "second normal string"
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} xg-py-8.ok xg-py-8.pot
result=$?

exit $result
